package cn.jetpiece.cloud.joss.api.object.model.params;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * <p>
 * 创建桶记录
 * </p>
 *
 * @author XuJZ
 * @since 2020-09-05
 */
@Data
@ApiModel
public class CreateBucketParam implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * 服务商UUID
     */
    @NotBlank(message = "服务商不能为空")
    @ApiModelProperty(value = "服务商UUID", required = true)
    private String providerId;

    /**
     * 域UUID
     */
    @NotBlank(message = "域不能为空")
    @ApiModelProperty(value = "域UUID", required = true)
    private String regionId;

    /**
     * 存储类型UUID
     */
    @NotBlank(message = "存储类型不能为空")
    @ApiModelProperty(value = "存储类型UUID", required = true)
    private String storageClassId;

    /**
     * 桶名称
     */
    @NotBlank(message = "桶名称不能为空")
    @ApiModelProperty(value = "桶名称", required = true)
    private String bucketName;

    /**
     * 数据冗余类型(1:单可用区,2:多可用区)
     */
    @ApiModelProperty(value = "数据冗余类型(1:单可用区,2:多可用区),默认2")
    private Integer dataRedundancyType = 2;

    /**
     * 数据权限(1:私有,2:公共可读)
     */
    @ApiModelProperty(value = "数据权限(1:私有,2:公共可读),默认1")
    private Integer acl = 1;
}
